package com.changpay.zywy.mvp.contract

import com.changpay.zywy.base.IModel
import com.changpay.zywy.base.IPresenter
import com.changpay.zywy.base.IView
import com.changpay.zywy.bean.*
import io.reactivex.Observable

interface ApplyDetailContract {
    interface View : IView {
        fun showAllocationInfo(data: ApplyDetailBean)
        fun showSelfMachineInfo(data: SelfMachineDetailBean)
        fun showCardChangeInfo(data: CardChangeDetailBean)
    }

    interface Presenter : IPresenter<View> {
        fun getAllocationInfo(map: MutableMap<String, String>)
        fun getSelfMachineInfo(map: MutableMap<String, String>)
        fun getCardChangeInfo(map: MutableMap<String, String>)
    }

    interface Model : IModel {
        fun getAllocationInfo(map: MutableMap<String, String>): Observable<HttpResult<ApplyDetailBean>>
        fun getSelfMachineInfo(map: MutableMap<String, String>): Observable<HttpResult<SelfMachineDetailBean>>
        fun getCardChangeInfo(map: MutableMap<String, String>): Observable<HttpResult<CardChangeDetailBean>>
    }
}